"""
1.发送请求，模拟浏览器对于urL地址发送请求
    请求链接: 视频播放页面 https://www.acfun.cn/v/ac35510357
2.获取数据，获取网页源代码
3.解析数据
    - 视频标题
    - m3u8文件链接
4.发送请求，模拟浏览器对于url地址发送请求
    请求链接: m3u8文件链接
5.获取数据，获取 m3u8文件 内容包含所有ts文件地址
6.解析数据，提取所有ts链接
7.保存数据，把所有视频片段保存合并，完整视频内容
"""
import json
import logging
import re
from pprint import pprint
import requests
from config import headers, path
from utils.m3u8_util import download_m3u8

def download(url: str):
    response = requests.get(url, headers=headers)
    # 解析数据：获取标题、m3u8
    title = re.findall('"title":"(.*?)"', response.text)[1]
    videoInfo = re.findall('window.videoInfo = (.*?);', response.text)[0]
    videoInfo = json.loads(videoInfo)
    m3u8_url = \
        json.loads(videoInfo['currentVideoInfo']['ksPlayJson'])['adaptationSet'][0]['representation'][0]['backupUrl'][0]

    download_m3u8(name=title, m3u8_url=m3u8_url, prefix='https://tx-safety-video.acfun.cn/mediacloud/acfun/acfun_video/')
    logging.info(title + ' 下载完成')



if __name__ == '__main__':
    download('https://www.acfun.cn/v/ac41122820')  # 参数为动漫url地址
